JPA 列名示例

2018-02-23 13:57 更新

JPA教程 - JPA列名示例


默認(rèn)情況下,JPA使用字段名作為數(shù)據(jù)庫表列名。我們可以使用Column注釋來更改默認(rèn)值。

以下代碼設(shè)置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

這里是運(yùn)行上面的代碼后的數(shù)據(jù)庫表轉(zhuǎn)儲(chǔ)。我們可以看到列名是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


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)