Как сделать два первичных ключа в приложении hibernate ?
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.password">veena_java.pass</property> <property name="hibernate.connection.url">jdbc:mysql://192.168.18.245:3306/veena_java</property> <property name="hibernate.connection.username">veena_java</property> <property name="hibernate.default_schema">veena_java</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hbm2ddl.auto">update</property> <mapping resource="com/hiber/Bean/User.hbm.xml"/> <mapping resource="com/hiber/Bean/Avatar.hbm.xml"/> </session-factory> </hibernate-configuration>
User.hbm.xml
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <!-- Generated May 18, 2017 3:31:25 PM by Hibernate Tools 3.4.0.CR1 --> <hibernate-mapping> <class name="com.hiber.Bean.User" table="USERData"> <id name="id" type="int"> <column name="ID" /> <generator class="increment" /> </id> <property name="username" type="java.lang.String"> <column name="USERNAME" /> </property> <property name="password" type="java.lang.String"> <column name="PASSWORD" /> </property> <property name="email" type="java.lang.String"> <column name="EMAIL" /> </property> <property name="phone" type="java.lang.String"> <column name="PHONE" /> </property> <property name="city" type="java.lang.String"> <column name="CITY" /> </property> </class> </hibernate-mapping>
User.java
package com.hiber.Bean; public class User { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } private String username,password,email,phone,city; }
Что я уже пробовал:
Я хочу получить идентификатор и адрес электронной почты в качестве первичного ключа в таблице базы данных с помощью hibernate.А alse id-это поле autoincremnt.
Richard Deeming
Таблица не может иметь два первичных ключа. Вы пытались создать составной ключ вместо этого?
2.2.6. Сопоставление составного первичного и внешних ключей - Красная Шапочка поддержки портала[^]