JPA 列名示例

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
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《JPA 列名示例》
文章链接:https://zhuji.vsping.com/293403.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。