Peter Penzov
Peter Penzov

Reputation: 1658

Insert data into table using Hibernate

I'm new to Hibernate. I want to insert data into this hibernate entity:

@Entity
public class Invitation implements Serializable
{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @Column(name = "invited_on")
    @Temporal(TemporalType.TIMESTAMP)
    private Date invitedOn;

    @Column(name = "invited_email")
    private String invitedEmail;

    @Column(name = "invitation_msg")
    private String invitationMessage;

    private Boolean status; //true:accepted || false:pending

    @ManyToOne
    @JoinColumn(name = "sent_by")
    private Person inviter;

// getters and setters
}

I tested this code:

public void insert()
{
    Query query = session.createQuery("insert into Invitation(invited_on, invited_email, invitation_msg, sent_by)");
    int result = query.executeUpdate();
}

What is the proper way to insert data? How I should create session Object?

Upvotes: 2

Views: 37145

Answers (2)

BOUZAR
BOUZAR

Reputation: 131

use this in the main class it works to insert data into table:

    Users user = new Users();
    user.setUid(1);
    user.setUfname("firstname");
    user.setUlname("Lastname");

    Configuration config = new Configuration()
       .configure()
       .addAnnotatedClass(Users.class);

    ServiceRegistry reg = new ServiceRegistryBuilder()
       .applySettings(config.getProperties())
       .buildServiceRegistry();

    SessionFactory sf = config.buildSessionFactory(reg);
    Session session = sf.openSession();

    Transaction tx = session.beginTransaction();
    session.save(user);

    tx.commit();

Upvotes: 2

Jordi Castilla
Jordi Castilla

Reputation: 26961

You have Hibernate and it's tools USE THEM!!!


DISCLAIMER:

  • Example took from HERE
  • code written on the fly!!
  • I didnt use status attribute because is not mapped!

// don't need if you already got a session
Session session = HibernateUtil.getSessionFactory().openSession();

// start transaction
session.beginTransaction();

// create invitation Object
Invitation inv = new Invitation();
inv.setId(1L);
inv.setInvitedOn(new java.util.Date());
inv.setInvitedEmail("[email protected]");
inv.setInvitationMessage("come on!!!");
inv.setInviter(new Person("inviter"));  // hey! this is not valid for sure! :)

// Save the invitation to database
session.save(inv);

// Commit the transaction
session.getTransaction().commit();

Upvotes: 1

Related Questions