java jpa id_JPA ID注释示例

JPA教程 - JPA ID注释示例

来自JPA的@Id注释用于将Java字段标记为数据库表主键列。public class Person{

@Id

private long id;

...

上面的代码将来自Person类的id字段作为数据库中的表person中的主键列。

例子

下面的代码来自Person.java。package cn.w3cschool.common;

import javax.persistence.Entity;

import javax.persistence.Id;

@Entity

public class Person {

@Id

private long id;

private String name;

private String surname;

public Person() {}

public Person(String name, String surname) {

this.name = name;

this.surname = surname;

}

public Long getId() {

return id;

}

public void setId(Long id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getSurname() {

return surname;

}

public void setSurname(String surname) {

this.surname = surname;

}

@Override

public String toString() {

return "Person [id=" + id + ", name=" + name + ", surname=" + surname + "]";

}

}

下面的代码来自PersonDaoImpl.java。package cn.w3cschool.common;

import java.util.List;

import javax.persistence.EntityManager;

import javax.persistence.PersistenceContext;

import org.springframework.transaction.annotation.Transactional;

@Transactional

public class PersonDaoImpl {

@PersistenceContext

private EntityManager em;

public Long save(Person person) {

em.persist(person);

return person.getId();

}

public ListgetAll() {

return em.createQuery("SELECT p FROM Person p", Person.class).getResultList();

}

}

以下代码来自App.java。package cn.w3cschool.common;

import java.util.List;

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");

Person p1 = new Person("XML", "HTML");

p1.setId(1L);

Person p2 = new Person("Java", "SQL");

p2.setId(2L);

dao.save(p1);

dao.save(p2);

List persons = dao.getAll();

for (Person person : persons) {

System.out.println(person);

}

context.close();

Helper.checkData();

}

}下载 ID_Annotation.zip

上面的代码生成以下结果。

a2b85707a7e89ffd0d413ebccccfb2b2.png

以下是数据库表转储。Table Name: PERSON

Row:

Column Name: ID,

Column Type: BIGINT:

Column Value: 1

Column Name: NAME,

Column Type: VARCHAR:

Column Value: XML

Column Name: SURNAME,

Column Type: VARCHAR:

Column Value: HTML

Row:

Column Name: ID,

Column Type: BIGINT:

Column Value: 2

Column Name: NAME,

Column Type: VARCHAR:

Column Value: Java

Column Name: SURNAME,

Column Type: VARCHAR:

Column Value: SQL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值