Hibernate 列映射 --名字映射

本文介绍了在Java类和数据库表名字不一致时,如何使用Hibernate的@Table和@Column注解进行手动映射,以及通过自定义命名策略避免逐个类配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

– Start
Java 类和数据库表有很多不同,其中之一是类名/字段名与表名/列名可能不一致。如果名字一致,我们无需特殊设置。如果名字不一致,可以使用注解 @Table 和 @Column 手动映射它们之间的关系,我们也可以实现一个命名策略,这样我们就不需要手动配置每个类。

package shangbo.hibernate.demo008;

public class App {
	public static void main(String[] args) throws Exception {
		DataService dataService = new DataService();
		dataService.saveCustomer(new Customer("test"));
	}
}

package shangbo.hibernate.demo008;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;

import org.hibernate.annotations.Type;

@Entity
//@Table(name = "CUSTOMER")
public class Customer {
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="customerId-generator")
	@SequenceGenerator(name="customerId-generator", sequenceName="CUSTOMER_ID_SEQ")
//	@Column(name = "CUSTOMER_ID")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值