Skip to content
Snippets Groups Projects
Commit e48241a8 authored by Goik Martin's avatar Goik Martin
Browse files

UNIQUE in JPA

parent 79699278
No related branches found
No related tags found
No related merge requests found
package hibintro.v5;
import hibintro.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
* @author goik
*
* Persisting a simple instance of {@link Project}
*
*/
public class PersistSingleUser {
/**
* @param args not used.
*/
public static void main(String[] args) {
final Session session = HibernateUtil.createSessionFactory("hibintro/v5/hibernate.cfg.xml").openSession();
final Transaction transaction = session.beginTransaction();
{
final User u = new User(123, "goik", "Martin Goik");
session.save(u);
}
transaction.commit();
}
}
\ No newline at end of file
package hibintro.v5;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/**
* @author goik
*
* {@link User} instances with primary key and unique constrait
*
*/
@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"uid"})})
public class User {
int uidNumber;
@Id
public int getUidNumber() {
return uidNumber;
}
public void setUidNumber(int uidNumber) {
this.uidNumber = uidNumber;
}
String uid;
/**
*
* @return The user's unique login name e.g. "goik"
*/
@Column(nullable=false)
public String getUid() {
return uid;
}
/**
* @param uid
* See {@link #getUid()}.
*/
public void setUid(String uid) {
this.uid = uid;
}
String cname;
/**
* @return The user's common name e.g. "Martin Goik"
*/
@Column(nullable = false)
public String getCname() {
return cname;
}
/**
* @param cname
* See {@link #getCname()}.
*/
public void setCname(String cname) {
this.cname = cname;
}
/**
* Hibernate/JPA require a default constructor
*/
public User() {
}
/**
* @param uid
* See {@link #getUid()}.
* @param cname
* See {@link #getCname()}.
*/
public User(int uidNumber, String uid, String cname) {
setUidNumber(uidNumber);
setUid(uid);
setCname(cname);
}
}
\ No newline at end of file
<?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">XYZ</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hdm</property>
<property name="hibernate.connection.username">hdmuser</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="hibintro.v5.User"/>
</session-factory>
</hibernate-configuration>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment