- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用 Spring Boot 1.3.7.RELEASE 作为应用程序框架,Hibernate 作为 JPA 实现,Spring Data 作为数据访问接口(interface),MySQL 5.7.15 作为存储服务器。我有两个模型:Agency
和 ServiceAreaCoverage
。 Agency
目前具有 oneToOne
单向服务和 ServiceAreaCoverage
。这是我的应用程序模型和映射。
@Entity
@Table(name = "agencies")
public class Agency {
@Id
private String id;
private String name;
private long phoneNumber;
private String email;
private String websiteUrl;
private boolean active;
@OneToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "service_area_coverage_id")
private ServiceAreaCoverage serviceAreaCoverage;
}
@Entity
@Table(name = "service_area_coverages")
public class ServiceAreaCoverage {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private double latitude;
private double longitude;
private double latitudeSpan;
private double longitudeSpan;
}
我正在尝试使用 Spring Data JpaRepository 的 save 方法通过 ServiceAreaCoverage
保存 Agency
。 Agency
和 ServiceAreaCoverage
都得到保存,关键约束也得到正确管理。但是,double
值不会被保存。保存的不是双值,而是零。我想不出发生这种结果的任何原因,也想不出解决问题的想法。因此,任何帮助将不胜感激。这是我与此事相关的一些其他代码和引用资料。
服务代码:
@Service
public class AgencyServiceImpl implements AgencyService {
@Autowired
private AgencyRepository agencyRepository;
@Override
public void createAgency(Agency agency) {
this.agencyRepository.save(agency);
}
}
存储库接口(interface)代码:
@Repository
public interface AgencyRepository extends JpaRepository<Agency, String> {
}
最佳答案
我想这可能对你有帮助。
您应该使用包装类而不是基元。请将 ServiceAreaCoverage 类中的 double 更改为 Double,因为它甚至可以保存 null 值。确保 getter/setter 是 Double 而不是 double。
@Entity
@Table(name = "service_area_coverages")
public class ServiceAreaCoverage {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private Double latitude;
private Double longitude;
private Double latitudeSpan;
private Double longitudeSpan;
}
注意:当数据库列设置为not-null="true"时,不能使用原始 double 型。
始终使用包装类,因此您不必考虑 0 或 null。
关于java - Hibernate 坚持零而不是双值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39580985/
Java api 有一个关于如何生成 0(含)和 n(不包括)之间整数的方法,但没有生成给定范围(例如 2.0 到 3.0)的 double 值随机数的方法。如何做到这一点? double x =
在 ASP.NET C# 中,我发布了一个值,在回发中我需要将它解析为一个长值。看起来不错,带 float 的值被视为非数字(或至少是非长值)如果发布的值为 50.1 long x=0; long.T
我想要一个包含以下条目的组合框: {"0,5", "1", "1,5", "2", "2,5"} 我使用数据验证: DataValidation dataValidation = null;
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: std::to_string - more than instance of overloaded func
我正在尝试从 Excel 获取 double 值到我的 C# 项目。但是,当我尝试这样做时,Visual Studio 会自动删除逗号/句点,并显示没有它们的数字。 例如: Excel:192,168
这似乎是一个有点模糊的问题 - 但是在我的 UI 中点击我得到一个“无法识别的选择器发送到实例”。堆栈跟踪真的不是很有帮助。一般来说 - 在 Monodevelop 中调试它的最佳方法是什么?任何建议
我是一名优秀的程序员,十分优秀!