[go: up one dir, main page]

0% found this document useful (0 votes)
4 views19 pages

Exp 3

The document describes a series of Java classes for a library system, vehicle management, and an online store, utilizing Hibernate for database interactions. It includes entity definitions for books, DVDs, vehicles (cars and bikes), and products (clothing and electronics) with appropriate attributes and methods. Each section demonstrates the setup of Hibernate sessions and the saving of objects to the database, showcasing the use of inheritance strategies in JPA.

Uploaded by

hemasundharkolla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views19 pages

Exp 3

The document describes a series of Java classes for a library system, vehicle management, and an online store, utilizing Hibernate for database interactions. It includes entity definitions for books, DVDs, vehicles (cars and bikes), and products (clothing and electronics) with appropriate attributes and methods. Each section demonstrates the setup of Hibernate sessions and the saving of objects to the database, showcasing the use of inheritance strategies in JPA.

Uploaded by

hemasundharkolla
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

NAME : K.

Hema Sundharam

ID NO : 2200030323
EXPERIMENT-3.1-----A Library System:
Book:

package com.klu.EXP3LMS;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue("book") // Discriminator value for Book subclass
public class Book extends Item {

private String author;


private int isbn;

// Getters and Setters


public String getAuthor() {
return author;
}

public void setAuthor(String author) {


this.author = author;
}

public int getIsbn() {


return isbn;
}

public void setIsbn(int isbn) {


this.isbn = isbn;
}
}
DVD:
package com.klu.EXP3LMS;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;

@Entity
@DiscriminatorValue("dvd") // Discriminator value for DVD subclass
public class DVD extends Item {

private String director;


private int regioncode;
// Getters and Setters
public String getDirector() {
return director;
}

public void setDirector(String director) {


this.director = director;
}

public int getRegioncode() {


return regioncode;
}

public void setRegioncode(int regioncode) {


this.regioncode = regioncode;
}
}
Item:
package com.klu.EXP3LMS;

import javax.persistence.Column;
import javax.persistence.DiscriminatorColumn;
import javax.persistence.DiscriminatorType;
import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.Table;

@Entity
@Table(name="items")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) // Using SINGLE_TABLE strategy for Table
per Class Hierarchy
@DiscriminatorColumn(name="item_type", discriminatorType = DiscriminatorType.STRING) //
Discriminator column to distinguish subclasses
@DiscriminatorValue("item") // Discriminator value for Item base class
public class Item {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int itemId;

@Column(name="title")
private String title;
// Getters and Setters
public int getItemId() {
return itemId;
}

public void setItemId(int itemId) {


this.itemId = itemId;
}

public String getTitle() {


return title;
}

public void setTitle(String title) {


this.title = title;
}
}
APP.java:
package com.klu.EXP3LMS;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

public class App


{
public static void main( String[] args )
{
System.out.println( "Hello World!" );

StandardServiceRegistry ssr = new


StandardServiceRegistryBuilder().configure("Hibernate.cfg.xml").build();
Metadata md = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory sf = md.getSessionFactoryBuilder().build();

Session session = sf.openSession();


Transaction transaction = session.beginTransaction();

Book book1 = new Book();


book1.setTitle("Harry Potter");
book1.setAuthor("J.K. Rowling");
book1.setIsbn(123456789);
session.save(book1);
DVD dvd1 = new DVD();
dvd1.setTitle("The Matrix");
dvd1.setDirector("Lana Wachowski, Lilly Wachowski");
dvd1.setRegioncode(1);
session.save(dvd1);

transaction.commit();
session.close();

System.out.println("Inserted Data");
}
}
OUTPUT:
EXPERIMENT-3.2----- Vehicle
Vechile.java
package com.klu.EXP3Vechile;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;

@Entity
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS) // Table per Concrete Class strategy
public abstract class Vehicle {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int vehicleId;

@Column(name = "model")
private String model;

// Getters and Setters


public int getVehicleId() {
return vehicleId;
}
public void setVehicleId(int vehicleId) {
this.vehicleId = vehicleId;
}

public String getModel() {


return model;
}

public void setModel(String model) {


this.model = model;
}
}
CAR.java:
package com.klu.EXP3Vechile;
import javax.persistence.Column;
import javax.persistence.Entity;

@Entity
public class Car extends Vehicle {

@Column(name = "seats")
private int seats;

@Column(name = "fuel_type")
private String fuelType;

// Getters and Setters


public int getSeats() {
return seats;
}

public void setSeats(int seats) {


this.seats = seats;
}

public String getFuelType() {


return fuelType;
}

public void setFuelType(String fuelType) {


this.fuelType = fuelType;
}
}
Bike.java:
package com.klu.EXP3Vechile;

import javax.persistence.Column;
import javax.persistence.Entity;

@Entity

public class Bike extends Vehicle {

@Column(name = "type")

private String type;

@Column(name = "engine_capacity")

private int engineCapacity;

// Getters and Setters

public String getType() {

return type;

public void setType(String type) {

this.type = type;

public int getEngineCapacity() {

return engineCapacity;

public void setEngineCapacity(int engineCapacity) {

this.engineCapacity = engineCapacity }
}

App.java:
package com.klu.EXP3Vechile;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.boot.Metadata;

import org.hibernate.boot.MetadataSources;

import org.hibernate.boot.registry.StandardServiceRegistry;

import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

public class App

public static void main( String[] args )

System.out.println( "Hello Fleet Management!" );

// Set up Hibernate session factory

StandardServiceRegistry ssr = new


StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();

Metadata md = new MetadataSources(ssr).getMetadataBuilder().build();

SessionFactory sf = md.getSessionFactoryBuilder().build();

// Open a session and begin transaction

Session session = sf.openSession();

Transaction transaction = session.beginTransaction();


// Create and save a Car object

Car car = new Car();

car.setModel("Toyota Corolla");

car.setSeats(5);

car.setFuelType("Petrol");

session.save(car);

Bike bike = new Bike();

bike.setModel("Yamaha MT-07");

bike.setType("Sport");

bike.setEngineCapacity(689);

session.save(bike);

// Commit the transaction

transaction.commit();

session.close();

System.out.println("Inserted Data");

OUTPUT:
Experiment-3.3—STORE

Product.java:

package com.klu.EXP3Store;

import javax.persistence.Column;
import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

import javax.persistence.Inheritance;

import javax.persistence.InheritanceType;

import javax.persistence.Table;

@Entity

@Table(name="product")

@Inheritance(strategy = InheritanceType.JOINED) // Table per Subclass strategy


public class Product {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

private int productId;

@Column(name = "name")

private String name;

// Getters and Setters

public int getProductId() {

return productId;

public void setProductId(int productId) {

this.productId = productId;

public String getName() {

return name;

public void setName(String name) {

this.name = name;

}
}

Clothing.java
package com.klu.EXP3Store;

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.PrimaryKeyJoinColumn;

import javax.persistence.Table;

@Entity

@Table(name="clothing")

@PrimaryKeyJoinColumn(name="productId") // Foreign key to Product table

public class Clothing extends Product {

@Column(name = "size")
private String size;

@Column(name = "material")

private String material;

// Getters and Setters

public String getSize() {

return size;

public void setSize(String size) {

this.size = size;

}
public String getMaterial() {

return material;

public void setMaterial(String material) {

this.material = material;

Electronics.java:

package com.klu.EXP3Store;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;

@Entity
@Table(name="electronics")
@PrimaryKeyJoinColumn(name="productId") // Foreign key to Product table
public class Electronics extends Product {

@Column(name = "warranty")
private int warranty;

@Column(name = "brand")
private String brand;

// Getters and Setters


public int getWarranty() {
return warranty;
}

public void setWarranty(int warranty) {


this.warranty = warranty;
}

public String getBrand() {


return brand;
}

public void setBrand(String brand) {


this.brand = brand;
}
}
App.java:
package com.klu.EXP3Store;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.Metadata;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

public class App


{
public static void main( String[] args )
{
System.out.println( "Hello Online Store!" );

// Set up Hibernate session factory


StandardServiceRegistry ssr = new
StandardServiceRegistryBuilder().configure("hibernate.cfg.xml").build();
Metadata md = new MetadataSources(ssr).getMetadataBuilder().build();
SessionFactory sf = md.getSessionFactoryBuilder().build();

// Open a session and begin transaction


Session session = sf.openSession();
Transaction transaction = session.beginTransaction();

// Create and save an Electronics object


Electronics electronics = new Electronics();
electronics.setName("Smartphone");
electronics.setWarranty(12);
electronics.setBrand("Samsung");
session.save(electronics);

// Create and save a Clothing object


Clothing clothing = new Clothing();
clothing.setName("T-Shirt");
clothing.setSize("M");
clothing.setMaterial("Cotton");
session.save(clothing);

// Commit the transaction


transaction.commit();
session.close();

System.out.println("Inserted Data");
}
}
OUTPUT:

You might also like