package cz.cvut.fel.restauracefel.hibernate;
// Generated 16.3.2009 21:36:54 by Hibernate Tools 3.2.1.GA
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.List;
/**
* UserRole generated by hbm2java
*/
public class UserRole extends DBEntity {
private static final long serialVersionUID = -3485621218713955438L;
private Integer userRoleId;
private User user;
private Role role;
private int isDeleted;
public UserRole() {
}
public UserRole(User user, Role role, int isDeleted) {
this.user = user;
this.role = role;
this.isDeleted = isDeleted;
}
//tato metoda zde musi byt, a to z duvodu, aby mohla probehnout spravne serializace
//zapis objektu do proudu bajtu
private void writeObject(ObjectOutputStream stream) throws IOException {
stream.writeInt(userRoleId);
User u = new User(user.getFirstName(), user.getLastName(), user.getPersonalIdentificationNumber(), user.getUsername(), user.getPassword(), user.getIsDeleted());
u.setUserId(user.getUserId());
stream.writeObject(u);
Role r = new Role(role.getName(), role.getIsDeleted());
r.setRoleId(role.getRoleId());
stream.writeObject(r);
stream.writeInt(isDeleted);
}
//tato metoda zde musi byt, a to z duvodu, aby mohla probehnout spravne serializace
//cteni a rekonstrukce objektu z proudu bajtu
private void readObject(ObjectInputStream stream) throws IOException {
try {
userRoleId = stream.readInt();
user = (User) stream.readObject();
role = (Role) stream.readObject();
isDeleted = stream.readInt();
} catch (Exception e) {
}
}
public Integer getUserRoleId() {
return this.userRoleId;
}
public void setUserRoleId(Integer userRoleId) {
this.userRoleId = userRoleId;
}
public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
public Role getRole() {
return this.role;
}
public void setRole(Role role) {
this.role = role;
}
public int getIsDeleted() {
return isDeleted;
}
public void setIsDeleted(int isDeleted) {
this.isDeleted = isDeleted;
}
public void create() {
create(this);
}
public void delete() {
delete(this);
}
public void update() {
update(this);
}
public static UserRole findById(Integer id) {
//return (UserRole) findById("UserRole", "userRoleId", id);
return (UserRole) findByIdNotDeleted("UserRole", "userRoleId", id, "isDeleted", 0);
}
public static List findByUser(Integer userId) {
String query = "from UserRole ur where ur.user.userId = :id1 and ur.isDeleted = :id2";
String[] paramNames = new String[]{"id1", "id2"};
String[] paramTypes = new String[]{"Integer", "Integer"};
Integer[] paramValues = new Integer[]{userId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return res;
}
public static UserRole findByUserAndRole(Integer userId, Integer roleId) {
String query = "from UserRole ur where ur.user.userId = :userId and ur.role.roleId = :roleId and ur.isDeleted = :id3";
String[] paramNames = new String[]{"userId", "roleId", "id3"};
String[] paramTypes = new String[]{"Integer", "Integer", "Integer"};
Integer[] paramValues = new Integer[]{userId, roleId, 0};
List res = executeQuery(query, paramNames, paramTypes, paramValues);
if (res == null || res.isEmpty()) {
return null;
}
return (UserRole) res.get(0);
}
}