我有3个实体,如下所示.我想写一个提取产品的查询.在此查询中,参数是optionValues id的列表.
现在我的问题是如何加入这些实体?
产品:
public class Product{
//other col
@OneToMany(mappedBy = "product")
private Set<Attribute> attributeSet = new HashSet<>();
}
Run Code Online (Sandbox Code Playgroud)
属性:
public class Attribute{
@OneToOne
@JoinColumn(name = "OPTION_VALUE_ID")
private OptionValue optionValue;
@ManyToOne
@JoinColumn(name="PRODUCT_ID",referencedColumnName="id")
private Product product;
}
Run Code Online (Sandbox Code Playgroud)
optionValue:
public class OptionValue{
@Column(name = "id")
private Long id;
@Column(name = "value",updatable = true)
private String value;
}
Run Code Online (Sandbox Code Playgroud)
我写了一个查询,但我认为我的代码不是一个好的解决方案.
Criteria aCriteria = null;
if (!optionValueList.isEmpty()) {
aCriteria = currentSession().createCriteria(Attribute.class, "attribute");
aCriteria.createAlias("attribute.optionValue", "optionValue");
aCriteria.add(Restrictions.in("optionValue.id", optionValueList));
attributes = aCriteria.list();
}
PagingData<Product> pagingData = new PagingData<>(); …Run Code Online (Sandbox Code Playgroud) 我在Angularjs中有两个控制器,并希望在这些控制器之间使用范围.在第一个控制器中,我从服务器获取数据并放入scope.myData.这个范围有很多我写一个项目的项目.在第二个控制器中我有查询范围,由第一个控制器的myData.title范围初始化.但myData.title范围对于第二个控制器是不正确的,因为它具有正确的值.事实上,当我写它时,不会将myData.title值发送到init函数,这样第二个控制器中的{{myData.title}}显示它的值.我的问题是什么?
我的代码是这样的:
app.controller("Controller1",function ($scope, $http) {
$scope.myData = {
title:""
}
$scope.getData = function(){
if(marketerId != null){
$http.get('/getData')
.success(function(data, status, headers, config) {
$scope.myData = data;
})
.error(function(error, status, headers, config) {
console.log(status);
});
}
};
}
Run Code Online (Sandbox Code Playgroud)
我的第二个控制器是
app.controller("Controller2",function ($scope, $http) {
$scope.query = "";
this.init = function (query) {
$scope.query = query;
}
}
Run Code Online (Sandbox Code Playgroud)
在html页面中我的代码是:
<div ng-controller='controller1 as c1'>
<div ng-controller='controller2'>
<input type='text' ng-model='query' ng-init='c1.init(myData.title)' >
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 我想在css和html中创建一个垂直标尺.也许这张照片显示我的目的.创建这个垂直标尺?
我的代码是:
<div>
<li class='ruler'>0</li>
<li class='ruler'>5</li>
<li class='ruler'>10</li>
<li class='ruler'>15</li>
<li class='ruler'>20</li>
</div>
.ruler {
background: #ffffff;
box-shadow: 0 -1px 1em hsl(60, 60%, 84%) inset;
border-radius: 2px;
border-left: 6px solid #000;
border-bottom: 1px solid #CCCCCC;
color: #000000;
margin: 0;
height: 80px;
list-style: none;
text-align: right;
width: 60px;
}
Run Code Online (Sandbox Code Playgroud)
