Hibernate 联合主键的配置方法实例
2008-10-15 10:30
417 查看
Hibernate 联合主键的配置方法实例
建立 join_pkey 表(mysql数据库)
CREATE TABLE `join_pkey` (
`sid` int(11) NOT NULL default '0',
`bid` int(11) NOT NULL default '0',
`name` varchar(20) default NULL,
PRIMARY KEY (`sid`,`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
JoinPkey Bean:
public class JoinPkey implements java.io.Serializable {
private JoinPkeyId id;
private String name;
public JoinPkey() {
}
public JoinPkey(JoinPkeyId id) {
this.id = id;
}
public JoinPkey(JoinPkeyId id, String name) {
this.id = id;
this.name = name;
}
public JoinPkeyId getId() {
return this.id;
}
public void setId(JoinPkeyId id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
JoinPkeyId Bean:
public class JoinPkeyId implements java.io.Serializable {
private Integer sid;
private Integer bid;
public JoinPkeyId() {
}
public JoinPkeyId(Integer sid, Integer bid) {
this.sid = sid;
this.bid = bid;
}
public Integer getSid() {
return this.sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public Integer getBid() {
return this.bid;
}
public void setBid(Integer bid) {
this.bid = bid;
}
}
JoinPkey.hbm.xml:
<hibernate-mapping>
<class name="com.vo1.JoinPkey" table="join_pkey">
<composite-id name="id" class="com.vo1.JoinPkeyId">
<key-property name="sid" type="java.lang.Integer">
<column name="sid" />
</key-property>
<key-property name="bid" type="java.lang.Integer">
<column name="bid" />
</key-property>
</composite-id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
</class>
</hibernate-mapping>
Test.java:
public class Test {
SessionFactory sf;
Session session;
private Test()
{
try
{
Configuration cfg = new Configuration();
sf = cfg.configure().buildSessionFactory();
session = sf.openSession();
}
catch(HibernateException ex)
{
ex.printStackTrace();
}
}
public void addMethod(JoinPkey st)
{
Transaction t=null;
t=session.beginTransaction();
session.save(st);
t.commit();
}
public static void main(String[] args) {
JoinPkey jp=new JoinPkey();
jp.setName("aaa");
JoinPkeyId jki=new JoinPkeyId();
jki.setBid(1);
jki.setSid(1);
jp.setId(jki);
new Test().addMethod(jp);
}
}
建立 join_pkey 表(mysql数据库)
CREATE TABLE `join_pkey` (
`sid` int(11) NOT NULL default '0',
`bid` int(11) NOT NULL default '0',
`name` varchar(20) default NULL,
PRIMARY KEY (`sid`,`bid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
JoinPkey Bean:
public class JoinPkey implements java.io.Serializable {
private JoinPkeyId id;
private String name;
public JoinPkey() {
}
public JoinPkey(JoinPkeyId id) {
this.id = id;
}
public JoinPkey(JoinPkeyId id, String name) {
this.id = id;
this.name = name;
}
public JoinPkeyId getId() {
return this.id;
}
public void setId(JoinPkeyId id) {
this.id = id;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
JoinPkeyId Bean:
public class JoinPkeyId implements java.io.Serializable {
private Integer sid;
private Integer bid;
public JoinPkeyId() {
}
public JoinPkeyId(Integer sid, Integer bid) {
this.sid = sid;
this.bid = bid;
}
public Integer getSid() {
return this.sid;
}
public void setSid(Integer sid) {
this.sid = sid;
}
public Integer getBid() {
return this.bid;
}
public void setBid(Integer bid) {
this.bid = bid;
}
}
JoinPkey.hbm.xml:
<hibernate-mapping>
<class name="com.vo1.JoinPkey" table="join_pkey">
<composite-id name="id" class="com.vo1.JoinPkeyId">
<key-property name="sid" type="java.lang.Integer">
<column name="sid" />
</key-property>
<key-property name="bid" type="java.lang.Integer">
<column name="bid" />
</key-property>
</composite-id>
<property name="name" type="java.lang.String">
<column name="name" length="20" />
</property>
</class>
</hibernate-mapping>
Test.java:
public class Test {
SessionFactory sf;
Session session;
private Test()
{
try
{
Configuration cfg = new Configuration();
sf = cfg.configure().buildSessionFactory();
session = sf.openSession();
}
catch(HibernateException ex)
{
ex.printStackTrace();
}
}
public void addMethod(JoinPkey st)
{
Transaction t=null;
t=session.beginTransaction();
session.save(st);
t.commit();
}
public static void main(String[] args) {
JoinPkey jp=new JoinPkey();
jp.setName("aaa");
JoinPkeyId jki=new JoinPkeyId();
jki.setBid(1);
jki.setSid(1);
jp.setId(jki);
new Test().addMethod(jp);
}
}
相关文章推荐
- Hibernate xml配置方法之联合主键
- Hibernate xml配置方法 之 联合主键
- Hibernate基于XML的----联合主键配置
- 【hibernate框架】如何配置联合主键-XML与Annotation样例剖析
- Hibernate 联合主键的xml配置
- equals和hashCode方法重写 以及hibernate的联合主键生成策略的生成类的生成
- hibernate使用配置文件创建联合主键往MySQL数据库插入数据
- hibernate如何配置联合主键
- hibernate联合主键注解配置
- hibernate 联合主键配置 sid自增
- hibernate中怎样配置两个联合属性为唯一约束(非联合主键)
- 联合主键hibernate配置
- Hibernate联合主键在实体类中的配置
- hibernate中联合主键要同时重写hashCode()和equals()方法
- hibernate 联合主键生成机制(组合主键XML配置方式)
- Hibernate联合主键怎样在xml中配置
- hibernate 联合主键生成机制(组合主键XML配置方式)
- Hibernate复合主键作为外键在关联映射中的配置方法
- Hibernate 注解和配置文件两种方法的对比(有实例)
- hibernate联合主键配置