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

On the way to "equals()"

parent 670aa312
No related branches found
No related tags found
No related merge requests found
package session1;
import hibintro.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
* @author goik
*
* Retrieval of a single {@link User} object from a database.
*
*/
public class LoadUser {
/**
* Retrieving a single {@link User} instance by means
* of its primary key value "goik".
* @param args unused
*/
public static void main(String[] args) {
User user;
{
final Session session = HibernateUtil.createSessionFactory("session1/hibernate.cfg.xml").openSession();
final Transaction transaction = session.beginTransaction();
user = (User) session.load(User.class, 1L);
final User user2 = (User) session.load(User.class, 1L);
System.out.println("user.equals(user2):" + user.equals(user2));
transaction.commit();
session.close();
}
{
final Session session = HibernateUtil.createSessionFactory("session1/hibernate.cfg.xml").openSession();
final Transaction transaction = session.beginTransaction();
final User user2 = (User) session.load(User.class, 1L);
System.out.println("user.equals(user2):" + user.equals(user2));
transaction.commit();
session.close();
}
}
}
\ No newline at end of file
package session1;
import hibintro.util.HibernateUtil;
import org.hibernate.Session;
import org.hibernate.Transaction;
/**
* @author goik
*
* Persisting a simple instance of {@link User}
*
*/
public class PersistSingleUser {
/**
* @param args not used.
*/
public static void main(String[] args) {
final Session session = HibernateUtil.createSessionFactory("session1/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 session1;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
/**
* @author goik
*
* {@link User} instances with primary key and unique constraint
*
*/
@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"uid"}),
@UniqueConstraint(columnNames={"uidNumber"})})
public class User {
@Id
@GeneratedValue
private Long id;
public Long getId() {return id;}
protected void setId(Long id) {this.id = id;}
int uidNumber;
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;}
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;}
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://www.hibernate.org/dtd/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">false</property>
<property name="hibernate.format_sql">true</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping class="session1.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