JPA 列名示例

2018-02-23 13:57 更新

JPA教程 - JPA列名示例


默认情况下,JPA使用字段名作为数据库表列名。我们可以使用Column注释来更改默认值。

以下代码设置id字段以使用EMP_ID作为列名称。

@Column(name = "EMP_ID")
private int id;

例子

以下代码来自Professor.java。

package cn.w3cschool.common;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity

public class Professor {
  @Id
  @Column(name = "EMP_ID")
  private int id;
  private String name;
  @Column(name = "SAL")
  private long salary;
  @Column(name = "COMM")
  private String comments;

  public int getId() {
      return id;
  }

  public void setId(int id) {
      this.id = id;
  }

  public String getName() {
      return name;
  }

  public void setName(String name) {
      this.name = name;
  }

  public long getSalary() {
      return salary;
  }

  public void setSalary(long salary) {
      this.salary = salary;
  }

  public String getComments() {
      return comments;
  }

  public void setComments(String comments) {
      this.comments = comments;
  }

  public String toString() {
      return "Employee id: " + getId() + " name: " + getName() +
      " salary: " + getSalary() + " comments: " + getComments();
  }
}

下面的代码来自PersonDaoImpl.java。

package cn.w3cschool.common;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.TypedQuery;

import org.springframework.transaction.annotation.Transactional;

@Transactional
public class PersonDaoImpl {
  public void test() {

    Professor emp = new Professor();
    emp.setId(1);
    emp.setName("name");
    emp.setSalary(12345);
    em.persist(emp);

  }

  @PersistenceContext
  private EntityManager em;
}

以下代码来自App.java。

package cn.w3cschool.common;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {

  public static void main(String[] args) {
    ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
        "applicationContext.xml");
    PersonDaoImpl dao = (PersonDaoImpl) context.getBean("personDao");

    dao.test();

    context.close();
    
    Helper.checkData();
  }
}
下载 Column_Name.zip

这里是运行上面的代码后的数据库表转储。我们可以看到列名是EMP_ID id字段。

Table Name: PROFESSOR
 Row:
    Column Name: EMP_ID,
    Column Type: INTEGER:
    Column Value: 1

    Column Name: COMM,
    Column Type: VARCHAR:
    Column Value: null

    Column Name: NAME,
    Column Type: VARCHAR:
    Column Value: name

    Column Name: SAL,
    Column Type: BIGINT:
    Column Value: 12345


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号