我想指出pathvariable secondpart。这是不可能的,因为错误消息显示:无法确定:veranstaltung的类型。Identificationnumber,在表中:teilnehmer,用于列:[org.hibernate.mapping.Column(id)]
要使用变量secondpart,我必须更改什么?如何访问控制器方法中的变量secondpart?
package veranstaltung;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Teilnehmer {
static int idnumber=69;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Identificationnumber id;
private String name;
private String vorname;
private String wohnort;
protected Teilnehmer() {}
public Teilnehmer(Identificationnumber id, String name, String vorname,String wohnort)
{
this.id=id;
this.name=name;
this.vorname=vorname;
this.wohnort=wohnort;
}
public static String erzeugeID ()
{
String id= "JAVALAND-";
id=id+idnumber;
idnumber++;
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getVorname() {
return vorname;
}
public void setVorname(String vorname) {
this.vorname = vorname;
}
public String getWohnort() {
return wohnort;
}
public void setWohnort(String wohnort) {
this.wohnort = wohnort;
}
@Override
public String toString()
{
return id.getfullID()+" "+getName()+" "+getVorname()+" "+getWohnort();
}
}
package veranstaltung;
public class Identificationnumber {
private String firstpart;
private Long secondpart;
public Identificationnumber(String firstpart, Long secondpart)
{
this.firstpart=firstpart;
this.secondpart=secondpart;
}
public String getFirstpart() {
return firstpart;
}
public void setFirstpart(String firstpart) {
this.firstpart = firstpart;
}
public Long getSecondpart() {
return secondpart;
}
public void setSecondpart(Long secondpart) {
this.secondpart = secondpart;
}
public String getfullID()
{
return firstpart+' '+secondpart;
}
}
package veranstaltung;
import veranstaltung.Teilnehmer;
import veranstaltung.Identificationnumber;
import veranstaltung.TeilnehmerRepository;
import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
@RestController
public class TeilnehmerController {
@Autowired
TeilnehmerRepository teilnehmerRepository;
@GetMapping("/teilnehmer")
Iterable<Teilnehmer> teilnehmer(){
return this.teilnehmerRepository.findAll();
}
@GetMapping("/teilnehmer/{id}")
Teilnehmer teilnehmerById(@PathVariable Long secondpart){
Optional<Teilnehmer> teilnehmerOptional = this.teilnehmerRepository.findById(secondpart);
if(teilnehmerOptional.isPresent()) {
return teilnehmerOptional.get();
}
return null;
}
}
您的标识号不是基元,而是自定义类。您所做的是尝试在teilnehmerById方法中对您的标识号使用Long。
我建议您将Teilnehmer的Id列从Identificationnumber更改为Long,或者您仍然可以通过如下操作在TeilnehmerID方法中传递Identificationnumber(考虑到您已经实现了自己的findById,它将把Identificationnumber转换为Long):
@GetMapping("/teilnehmer/{id}")
Teilnehmer teilnehmerById(@PathVariable Long secondpart){
Identificationnumber number = new Identificationnumber(0,secondpart);
Optional<Teilnehmer> teilnehmerOptional = this.teilnehmerRepository.findById(number);
if(teilnehmerOptional.isPresent()) {
return teilnehmerOptional.get();
}
return null;
基于Hibernate错误,看起来您必须使用我的第一个选项,即将Teilnehmer
的@Id
更改为Long
。
问题内容: 例如,在Java中,注释不仅提供覆盖的编译时检查,而且还提供了出色的自记录代码。 我只是在寻找文档(尽管如果它是指示诸如pylint之类的检查器的指标,那是一个额外的好处)。我可以在某处添加注释或文档字符串,但是在Python中指示替代的惯用方式是什么? 问题答案: 基于此和fwc:s的答案,我创建了一个pip可安装软件包 https://github.com/mkorpela/ove
本文向大家介绍TabLayout实现ViewPager指示器的方法,包括了TabLayout实现ViewPager指示器的方法的使用技巧和注意事项,需要的朋友参考一下 在TabLayout出现之前,基本都是通过 ViewPager+FragmentPagerAdapter+第三方开源tab指示器(TabPageIndicator)来实现的。现在Android内部提供了现成的TabLayout控件来
问题内容: 如何打印指示的div(而无需手动禁用页面上的所有其他内容)? 我想避免使用新的预览对话框,因此使用此内容创建新窗口没有用。 该页面包含几个表,其中一个表包含我要打印的div-该表已通过网络的视觉样式进行了样式设置,因此不应以打印形式显示。 问题答案: 这是一个通用的解决方案, 仅 使用 CSS ,我已经验证可以使用。 替代方法不是很好。使用是棘手的,因为如果有任何元素,则任何后代都不会
问题内容: 我想知道如何列出对象可用的所有方法,例如: 这应该打印: 问题答案: 您可以用来获取属于某个对象的所有属性(无论是否可枚举)。例如: 然后,您可以使用来仅获取方法: 在ES3浏览器(IE8及更低版本)中,内置对象的属性不可枚举。像和不是内置的对象,它们是由浏览器定义的,很可能是通过设计枚举的。 从ECMA-262第3版开始: 全局对象 有一个唯一的全局对象(15.1),它在控制进入任何
本文向大家介绍Android TabLayout设置指示器宽度的方法,包括了Android TabLayout设置指示器宽度的方法的使用技巧和注意事项,需要的朋友参考一下 anroid 5.0 Design v7 包中引用了TabLayout 简单快速的写出属于自己的Tab切换效果 如图所示: 但是正常使用中你发现无法设置tablayout指示器的宽度。查看源码你会发现设计师将指示器的宽度设置成
问题内容: 我有一个指令,这是代码: 我想呼吁用户采取行动。操作按钮不在指令上。 从控制器呼叫的最佳方法是什么? 问题答案: 如果要使用隔离作用域,则可以使用来自控制器作用域的变量的双向绑定来传递控制对象。您还可以在页面上使用相同的控件对象来控制同一指令的多个实例。