Я хочу перенести данные из баз данных в «selectoneoption», но я этого не сделал.У меня есть города в таблицу городов в базе данных.Пользователи могут выбрать один город в selectonemenu.Это моя цель.Благодарю.Вот код JSF:
<h:selectOneMenu id="adres" value="#{loginController.iller}" class="form-control">
<f:selectItems itemValue ="#{loginController.il}" itemLabel="#{loginController.il}" ></f:selectItems>
</h:selectOneMenu>
Вот класс контроллера
public loginController()
{
iller = l.il_getir();
//For test -----
login l = new login();
System.out.println(il);
System.out.println(iller.size());
for(int i = 0; i<l.il_getir().size();i++)
{
iller = l.il_getir();
System.out.println(iller.get(i));
}
}
Я пробовал 'ВЫБРАТЬ С из городов С', но это не работает.Вот дао-коды
public class login implements Serializable {
private static final long serialVersionUID = 1L;
EntityManager em;
EntityManagerFactory emf;
private List<Citys> iller = new ArrayList<>();
public login()
{
emf=Persistence.createEntityManagerFactory("deneme_kanbagisi_war_0PU");
em = emf.createEntityManager();
em.getTransaction().begin();
}
public List<Citys> il_getir()
{
try
{
String sql = "SELECT c.isim FROM Citys c";
Query query = em.createQuery(sql);
iller = query.getResultList();
return iller;
}
catch(Exception e)
{
return iller;
}
}
}
Я хочу внести данные в элементы выбора на странице JSF, но есть ошибка
java.lang.TypeNotPresentException: Type model.Citys not present
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138)
.......
Также эта ошибка
Caused by: java.lang.ClassNotFoundException: model.Citys
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114)
... 68 more
Такжеэто мой класс сущности
@Entity
@Table(name = "citys")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Citys.findAll", query = "SELECT c FROM Citys c")
, @NamedQuery(name = "Citys.findByIlNo", query = "SELECT c FROM Citys c WHERE
c.ilNo = :ilNo")
, @NamedQuery(name = "Citys.findByIsim", query = "SELECT c FROM Citys c WHERE
c.isim = :isim")})
public class Citys implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "il_no")
private Integer ilNo;
@Size(max = 50)
@Column(name = "isim")
private String isim;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "ilNo")
private Collection<Villages> villagesCollection;
public Citys() {
}
public Citys(Integer ilNo) {
this.ilNo = ilNo;
}
public Integer getIlNo() {
return ilNo;
}
public void setIlNo(Integer ilNo) {
this.ilNo = ilNo;
}
public String getIsim() {
return isim;
}
public void setIsim(String isim) {
this.isim = isim;
}
@XmlTransient
public Collection<Villages> getVillagesCollection() {
return villagesCollection;
}
public void setVillagesCollection(Collection<Villages> villagesCollection) {
this.villagesCollection = villagesCollection;
}
@Override
public int hashCode() {
int hash = 0;
hash += (ilNo != null ? ilNo.hashCode() : 0);
return hash;
}
@Override
public boolean equals(Object object) {
// TODO: Warning - this method won't work in the case the id fields are
not set
if (!(object instanceof Citys)) {
return false;
}
Citys other = (Citys) object;
if ((this.ilNo == null && other.ilNo != null) || (this.ilNo != null &&
!this.ilNo.equals(other.ilNo))) {
return false;
}
return true;
}
@Override
public String toString() {
return "model.Citys[ ilNo=" + ilNo + " ]";
}
}